International Business Machines Corp. (IBM) of Armonk, N.Y. has frequently implemented new paradigms in business computing. Currently IBM is deploying products and services to support the “On Demand Business.” An “On Demand Business” is an enterprise whose business processes are integrated end-to-end across the company and with key partners, suppliers and customers and which can respond with speed to any customer demand, market opportunity or external threat. The information technology (IT) infrastructure necessary to support the On Demand Business must be flexible and variable, i.e. able to meet fluctuating demand levels. One technique employed to provide a flexible and variable IT infrastructure is a utility computing service. Utility computing is information technology (IT) services based upon “power by the hour” in which a client pays only for the level of computing services actually used. In this paradigm, a resource may be allocated or deallocated based upon a customer's actual need for the resource.
Customers of a utility computing infrastructure transform their IT environment into a variable resource and pay only for the actual computing services received. The utility management infrastructure (UMI) provides the tools and services to effectively manage the utility computing environment. Like electricity, water and gas, IT is treated as another utility. Thus, by eliminating the responsibility of building and maintaining IT operations, providing necessary education and training to administrators, and having to comply with applicable regulations, the customer can focus on their core business while enjoying variable pricing, automated processes and the invaluable resilience and responsiveness of a shared infrastructure provided by the utility provider.
Customers transitioning from a dedicated IT environment to a utility computing environment may be concerned that needed resources are available and that the resources that are available are actually being utilized. Often, a customer is able to modify computing capacity and allocate and/or de-allocate computing resources. Although this approach provides customers with a dynamic pool of needed resources, the customer must be aware of the specific demand for a particular application in order to effectively manage the allocation/deallocation process.
Other programs provide for an automatic allocation/deallocation of resources based upon the use of the resources. However, current systems do not provide a way to ensure that resources are allocated based upon actual need rather than merely an anomalous spike in demand. Further, current systems that automatically deallocate resources may base such action upon a temporary drop in usage. In this case, a particular resource may be unavailable when usage returns to normal levels.